<test>
    <substitutions>
       <substitution>
           <name>table_small</name>
           <values>
               <value>zeros(10000000)</value>
               <value>zeros_mt(100000000)</value>
           </values>
       </substitution>
       <substitution>
           <name>table_large</name>
           <values>
               <value>zeros(100000000)</value>
               <value>zeros_mt(1000000000)</value>
           </values>
       </substitution>
       <substitution>
           <name>size_large</name>
           <values>
               <value>1048576</value>
               <value>10000000</value>
           </values>
       </substitution>
       <substitution>
           <name>size_small</name>
           <values>
               <value>1</value>
               <value>16</value>
               <value>1024</value>
               <value>16384</value>
           </values>
       </substitution>
    </substitutions>

    <query>SELECT count() FROM {table_large} WHERE rand64() IN (SELECT number FROM system.numbers LIMIT {size_small})</query>
    <query>SELECT count() FROM {table_small} WHERE rand64() IN (SELECT number FROM system.numbers LIMIT {size_large})</query>
    <query>
        SELECT number
        FROM numbers(10)
        WHERE (number IN
        (
            SELECT sum(number)
            FROM numbers(100000000)
            GROUP BY bitAnd(number, 15)
        )) OR (number IN
        (
            SELECT sum(number)
            FROM numbers(100000000)
            GROUP BY bitAnd(number, 17)
        ))
    </query>
</test>
